#include "comm.hpp"
#include "log.hpp"

int main()
{
    Init initfifo;
    Log log;
    log.AppontPrint(Muchfile);

    // 打开管道
    int fd = open(FIFO_FILE, O_RDONLY);
    if (fd < 0)
    {
        log(Fatal, "error string: %s, error code: %d", strerror(errno), errno);
        exit(FIFO_OPEN_ERR);
    }

    log(Info, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Warning, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Fatal, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Debug, "server open file done, error string: %s, error code: %d", strerror(errno), errno);


    // 接受信息
    while (true)
    {
        char buffer[2024];

        int n = read(fd, buffer, sizeof(buffer));
        if (n > 0)
        {
            buffer[n] = 0;
            std::cout << "cilent say: " << buffer << std::endl;
        }
        else if (n == 0)
        {
            // cilent终止，read返回0
            log(Debug, "client quit, me too!, error string: %s, error code: %d", strerror(errno), errno);
            break;
        }
        else
        {
            break;
        }
    }
    // 删除管道，由析构函数完成

    close(fd);
    return 0;
}
